home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 7: Sunsite / Linux Cubed Series 7 - Sunsite Vol 1.iso / system / shells / scsh-0.4 / scsh-0 / scsh-0.4.2 / debug / linker.scm < prev    next >
Text File  |  1995-10-13  |  1KB  |  35 lines

  1. ; Copyright (c) 1993, 1994 Richard Kelsey and Jonathan Rees.  See file COPYING.
  2.  
  3.  
  4. (define (link-simple-system filename resumer-exp . structs)
  5.   (link-system structs (lambda () resumer-exp) filename))
  6.  
  7. (define (link-reified-system some filename make-resumer-exp . structs)
  8.   (link-system (append structs (map cdr some))
  9.            (lambda ()
  10.          (display "Reifying") (newline)
  11.          `(,make-resumer-exp
  12.            (lambda ()
  13.              ,(reify-structures some
  14.                     (lambda (loc) loc)
  15.                     `(lambda (loc) loc)))))
  16.            filename))
  17.  
  18.  
  19. (define (link-system structs make-resumer filename)
  20.   (for-each ensure-loaded structs)
  21.   (let* ((p (make-simple-package structs eval #f))
  22.      (r (eval (make-resumer) p)))
  23.     ;; (check-package p)
  24.     r))
  25.  
  26. ;(define (check-package p)
  27. ;  (let ((names (undefined-variables p)))
  28. ;    (if (not (null? names))
  29. ;        (begin (display "Undefined: ") 
  30. ;               (write names) (newline)))))
  31.  
  32. (define-syntax struct-list
  33.   (syntax-rules ()
  34.     ((struct-list name ...) (list (cons 'name name) ...))))
  35.